热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

射线|子弹_Ruby‘sAdventrue游戏制作笔记(十五)UnityNPC对话

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Ruby‘sAdventrue游戏制作笔记(十五)UnityNPC对话相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Ruby‘s Adventrue游戏制作笔记(十五)UnityNPC对话相关的知识,希望对你有一定的参考价值。



Ruby's Adventrue游戏制作笔记(十五)UnityNPC对话


  • 前言
  • 一、拖入NPC
  • 二、添加碰撞器
  • 三、使用玩家发射射线的方式检测是否有NPC
  • 四、 给NPC添加对话框
  • 五、给NPC添加脚本
  • 六、设置提示框
  • 七、NPC对话自定义
  • 系列链接




前言

本文章是我学习Unity官方项目项目所做笔记,作为学习Unity的游戏笔记,在最后一章会发出源码,如果等不及可以直接看源码,里面也有很多注释相关,话不多说,让Ruby动起来!
游戏引擎:Unity2020.3


一、拖入NPC


调整动画速度 (ctrl + 6)


二、添加碰撞器

调整大小


三、使用玩家发射射线的方式检测是否有NPC

使用玩家发射射线的方式检测是否有NPC,

设置NPC层级,使射线只会跟NPC层级交互


四、 给NPC添加对话框

添加UI-Canvas

修改 画布为world Space,并修改对话框大小



稍微调整位置

添加背景图片

选择素材

选择锚点,按住Alt键,选择右下角的这个,进行画布填充


创建文本


添加outline使文字更加清晰


五、给NPC添加脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
// NPC交互相关脚本
public class NPCmanager : MonoBehaviour

public GameObject dialogImage; // 对话
// 对话框显示时间
public float showTime = 4;
public float showTimer;
private void Start()

// 初始默认隐藏对话框
dialogImage.SetActive(false);
showTimer = -1;

private void Update()


showTimer -= Time.deltaTime;
if(showTimer < 0)

dialogImage.SetActive(false);



// 显示对话框
public void ShowDialog()

showTimer &#61; showTime;
dialogImage.SetActive(true);


将DialogFrame拖入脚本


六、设置提示框




设置对话时让提示框消失


设置提示框在对话框结束后出现

将对话框拖入进去


七、NPC对话自定义

在NPC脚本中添加

设置文本

将NPC下的TEXT拖入

获得同一个tag下的物品数量
设置robot的tag为Robot




系列链接

Ruby‘s Adventrue游戏制作笔记&#xff08;一&#xff09;Unity创建项目

Ruby‘s Adventrue游戏制作笔记&#xff08;二&#xff09;Unity控制ruby移动

Ruby‘s Adventrue游戏制作笔记&#xff08;三&#xff09;Unity使用tilemap绘制场景

Ruby‘s Adventrue游戏制作笔记&#xff08;四&#xff09;Unity绘制其他元素

Ruby‘s Adventrue游戏制作笔记&#xff08;五&#xff09;Unity解决碰撞抖动和旋转问题

Ruby‘s Adventrue游戏制作笔记&#xff08;六&#xff09;Unity相机跟随玩家移动

Ruby‘s Adventrue游戏制作笔记&#xff08;七&#xff09;Unity采集生命道具

Ruby‘s Adventrue游戏制作笔记&#xff08;八&#xff09;Unity伤害陷阱

Ruby‘s Adventrue游戏制作笔记&#xff08;九&#xff09;Unity添加敌人

Ruby‘s Adventrue游戏制作笔记&#xff08;十&#xff09;Unity添加动画

Ruby‘s Adventrue游戏制作笔记&#xff08;十一&#xff09;Unity角色攻击——发射子弹

Ruby‘s Adventrue游戏制作笔记&#xff08;十二&#xff09;Unity给角色添加简单的特效

Ruby‘s Adventrue游戏制作笔记&#xff08;十三&#xff09;Unity血条UI的显示

Ruby‘s Adventrue游戏制作笔记&#xff08;十四&#xff09;Unity播放游戏音效

Ruby‘s Adventrue游戏制作笔记&#xff08;十五&#xff09;UnityNPC对话

Ruby‘s Adventrue游戏制作笔记&#xff08;十六&#xff09;Unity子弹数量及其UI

Ruby‘s Adventrue游戏制作笔记&#xff08;十七&#xff09;Unity添加游戏胜利条件和失败条件和导出游戏


推荐阅读
  • 抽空写了一个ICON图标的转换程序
    抽空写了一个ICON图标的转换程序,支持png\jpe\bmp格式到ico的转换。具体的程序就在下面,如果看的人多,过两天再把思路写一下。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 第一步:PyQt4Designer设计程序界面该部分设计类同VisvalStudio内的设计,改下各部件的objectName!设计 ... [详细]
  • 与.Net大师Jeffrey Richter面对面交流——TUP对话大师系列活动回顾(多图配详细文字)...
    与.Net大师JeffreyRichter面对面交流——TUP对话大师系列活动回顾(多图配文字)上周末很有幸参加了CSDN举行的TUP活动, ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
  • ExcelApp#启动excel程序ExcelAppCreateOleObject(“Excel.Application”);#加载文件但不显示文件内容(true表 ... [详细]
  • 转载:MFC 获得各类指针、句柄的方法
    2019独角兽企业重金招聘Python工程师标准转载:最近有些人在问MFC编程一些要点,有一些句柄的获取、指针的获取是 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
author-avatar
phpyang
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有